1. Field of the Invention
The embodiments of the invention generally relate to displaying hierarchical diagrams and more particularly to providing an improved interface with a hierarchical diagram through the use of dynamic highlighting.
2. Description of Related Art
In an object oriented development environment, software applications are developed as a set of objects and classes that interact with one another. Thus, application developers and other users are required to understand complex relationships between components of software systems in order to develop, implement, and maintain such systems. In order to better understand the relationships between objects and their classes, a number of current development tools provide a class browser that allows navigating between the individual classes of a software system or application.
A current technology for understanding complex object oriented software systems is the Unified Modeling Language (UML). UML is a standard graphical language for modeling object-oriented systems. UML can be used to specify, visualize, construct, and document not only software systems but also business models and non-software systems. UML provides a graphical representation of a system design that may be used by developers to assure architectural soundness of a system. UML is frequently used to design the relationships between components (e.g., classes in the case of a Java program) before such components are developed and implemented in source code format.
A number of UML design tools are available for use in conjunction with the design and development of a software system. However, these current UML design tools are focused on system design and are not integrated with a class browser. Typically a developer uses a UML design tool for system design, but uses a separate development tool for developing the source code modules necessary to implement the system from the design. Thus, current UML tooling does not provide a particularly easy way to display complex UML diagrams. Activity diagrams that consist of a large number of objects can be cumbersome to view and edit. Complex diagrams can be split into smaller diagrams showing just the relevant objects; however, a system is not currently available that can display all the objects in a way that is easy to use.